import com.sun.java.swing.plaf.windows.WindowsInternalFrameTitlePane;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.util.Random;
import java.util.Scanner;

public class Test
{
//       求2个整数的最大公约数
//               作业内容
//       给定两个数，求这两个数的最大公约数
//       例如：
//       输入：20 40
//       输出：20
        public static void main(String[] args) {
               Scanner scanner1 =new Scanner(System.in);
               Scanner scanner2 =new Scanner(System.in);
               int num1 = scanner1.nextInt();
               int num2 = scanner2.nextInt();
               int min =num1<num2?num1:num2;
               int ans = 0;
               for(int i = min ;i>=1;i--)
               {
                      if(num2%i==0&&num1%i==0){
                             ans=i;
                             break;
                      }
               }
               System.out.println(ans);
         }


}
//       //       模拟登陆
////
////               作业内容
////       编写代码模拟三次密码输入的场景。
////       最多能输入三次密码，密码正确，提示“登录成功”,密码错误， 可以重新输 入，最多输入三次。三次均错，则提示退出程序
//       public static void main(String[] args) {
//              int num = 10;
//              for (int i = 31; i >=1; i-=2) {
//                     System.out.print((num>>i)&1);
//              }
//              System.out.println();
//              for (int i = 30; i >=0; i-=2) {
//                     System.out.print((num>>i)&1);
//              }
//
//       }
    //  编写程序数一下 1到 100 的所有整数中出现多少个数字9
//    public static void main1(String[] args) {
//        int count = 0;
//        for (int i = 1; i <100 ; i++) {
//            int tmp = i;
//            while(tmp!=0){
//                if(tmp%9==0){
//                    count++;
//                }
//                tmp/=10;
//            }
//        }
//        System.out.println(count);
//    }
//
//            作业内容
//    完成猜数字游戏   ，用户输入数字，判断该数字是大于，小于，还是等于随机生成的数字，等于的时候退出程序。
//    public static void main(String[] args) {
//        Scanner scanner =new Scanner(System.in);
//        Random random =new Random();
//        int randNum = random.nextInt(101);
//        while(true){
//            System.out.println("请输入数字");
//            int num = scanner.nextInt();
//            if(num<randNum){
//                System.out.println("猜小了");
//            }
//            else if(num>randNum){
//                System.out.println("猜大了");
//            }
//            else{
//                System.out.println("猜对了");
//                break;50
//            }
//        }

//    计算分数的值
//计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值    。
//    public static void main(String[] args) {
//        double sum = 0;
//        int flag = 1;
//        for (int i = 1; i <=100 ; i++) {
//            if(i%2==0){
//                sum+=(-1)*flag*(1.0/i);
//            }
//            else{
//                sum+=flag*(1.0/i);
//            }
//        }
//
//        System.out.println(sum);
//    }
////    输出一个整数的每一位
////
////            作业内容
////    输出一个整数的每一位，如：123的每一位是3，2，1
//       public static void Fib(int n){
//              if(n>9) {
//                  Fib(n/10);
//              }
//              System.out.print(n%10);
//       }
//       public static void main(String[] args) {
//              Scanner scanner =new Scanner(System.in);
//              int num = scanner.nextInt();
//              Fib(num);
//
//